﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Persistente;
using Persistente.Avaliacao;

namespace Negocio.Avaliacao
{
    public class NAvaliacao
    {
        public int idAvaliacao { get; set; }
        public string teAvaliacao { get; set; }
        public string tePros { get; set; }
        public string teContras { get; set; }
        public int nrNotaGeral { get; set; }
        public int nrNotaPreco { get; set; }
        public int nrNotaTempoUso { get; set; }
        public int nrNotaQualidade { get; set; }
        public int idUsuario { get; set; }
        public int idProduto { get; set; }
        public DateTime dtAvaliacao { get; set; }

        public bool Salvar()
        {
            var obPAvaliacao = new PAvaliacao();
            return obPAvaliacao.Salvar(idAvaliacao, teAvaliacao, nrNotaGeral, nrNotaQualidade, nrNotaPreco,
                                       nrNotaTempoUso, dtAvaliacao, tePros, teContras, idProduto, idUsuario);
        }


        public bool Remover(int idAvaliacao)
        {
            var obPAvaliacao = new PAvaliacao();
            return obPAvaliacao.Remover(idAvaliacao);
        }

        public void pegarAvaliacaoPorId()
        {
            var obPAvaliacao = new PAvaliacao();
            var obTbAvaliacao = obPAvaliacao.pegarAvaliacaoPorId(idAvaliacao);
            if (obTbAvaliacao != null)
            {
                idAvaliacao = obTbAvaliacao.id_avaliacao;
                teAvaliacao = obTbAvaliacao.te_avaliacao;
                teContras = obTbAvaliacao.te_contras;
                tePros = obTbAvaliacao.te_pros;
                nrNotaGeral = obTbAvaliacao.nr_nota_geral;
                nrNotaPreco = obTbAvaliacao.nr_nota_preco;
                nrNotaQualidade = obTbAvaliacao.nr_nota_qualidade;
                nrNotaTempoUso = obTbAvaliacao.nr_nota_tempo_uso;
                idProduto = obTbAvaliacao.produto_id_produto;
                idUsuario = obTbAvaliacao.usuario_id_usuario;
                dtAvaliacao = obTbAvaliacao.dt_avaliacao;

            }
        }

        public DataSet pegarAvaliacoes(string teAvaliacao = null, int nrNotaGeral = 0, int nrNotaQualidade = 0, int nrNotaPreco = 0, int nrNotaTempoUso = 0, DateTime? dtAvaliacao = null, string tePros = null, string teContras = null, int idProduto = 0, int idUsuario = 0)
        {
            var obPAvaliacao = new PAvaliacao();
            return obPAvaliacao.pegarAvaliacoes(teAvaliacao, nrNotaGeral, nrNotaQualidade, nrNotaPreco,
                                                nrNotaTempoUso, dtAvaliacao, tePros, teContras, idProduto, idUsuario);
        }

        public bool Alterar(int idAvaliacao)
        {
            var obPAvaliacao = new PAvaliacao();
            var obTbAvaliacao = new tb_avaliacao();
            obTbAvaliacao.te_avaliacao = teAvaliacao;
            obTbAvaliacao.te_contras = teContras;
            obTbAvaliacao.te_pros = tePros;
            obTbAvaliacao.nr_nota_geral = nrNotaGeral;
            obTbAvaliacao.nr_nota_preco = nrNotaPreco;
            obTbAvaliacao.nr_nota_qualidade = nrNotaQualidade;
            obTbAvaliacao.nr_nota_tempo_uso = nrNotaTempoUso;
            obTbAvaliacao.produto_id_produto = idProduto;
            obTbAvaliacao.usuario_id_usuario = idUsuario;
            obTbAvaliacao.dt_avaliacao = dtAvaliacao;

            return obPAvaliacao.Alterar(idAvaliacao, obTbAvaliacao);
        }


    }
}
